package 题目集.贡献法;
/**
 * 对于一个字符串S，我们定义S 的分值 f(S) 为S中恰好出现一次的字符个数。例如f (”aba”) = 2，f (”abc”) = 3, f (”aaa”) = 1。
 * 现在给定一个字符串S[0…n-1]（长度为n），请你计算对于所有S的非空子串S[i…j](0 ≤ i ≤ j < n)， f (S[i… j]) 的和是多少。
 * https://www.dotcpp.com/oj/contest6318_problem15.html
 */
import java.util.Scanner;

public class 字符串中单个字符的个数2 {
    /**
     * 状态表示：dp[i]，表示以第i个字符结尾的所有子串，求集合的和
     * 当dp[0..i-1]不存在重复字符：dp[i]=(1+i)*i/2+dp[i-1]-dp[i-2]
     */
    static char[] chars;
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        chars = sc.nextLine().toCharArray();
        long[] dp=new long[26];  //上一次的结果
        long sum=0;

    }
}
